package com.hsu.apibackend.model.dto.interfaceinfo;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 调用请求
 * @ClassName: InvokeRequest
 * @author Hsu琛君珩
 * @date 2024-09-06
 * @apiNote
 * @Version: v1.0
 */
@Data
public class InvokeRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 接口ID，表示需要调用的接口的唯一标识
     */
    private Long id;

    /**
     * 请求参数列表，包含接口请求时需要传递的字段及其对应的值
     */
    private List<Field> requestParams;

    /**
     * 用户请求参数，用户自定义输入的请求参数，格式为JSON或其他字符串形式
     */
    private String userRequestParams;

    /**
     * 内部静态类，用于表示单个请求参数的名称和值对
     */
    @Data
    public static class Field {

        /**
         * 字段名称，表示接口请求参数的名称
         */
        private String fieldName;

        /**
         * 字段对应的值，用户实际传递的值
         */
        private String value;
    }
}
